1 using System.Collections;
2 using
System.Collections.Generic;
3 using
UnityEngine;
4
5 public
enum GameStateType {
6     WAITING,
7     HOLDING,
8     PLACING,
9     GAME_OVER
10 }

11
12 public
enum GameOverType {
13     CHECKMATE,
14     STALEMATE,
15     SURRENDER,
16     OUT_OF_TIME,
17 }

18
19 public
class GameState {
20
21     
private GameStateType state;
22     
private GameOverType gameOverType;
23
24     
public GameState() {
25         state = GameStateType.WAITING;
26     }
27
28     
public GameStateType State {
29         
get {return state;}
30         
set {
31             state =
value;
32         }
33     }
34
35     
public bool IsWaiting {
36         
get {return state == GameStateType.WAITING;}
37     }
38
39     
public bool IsPlacing {
40         
get {return state == GameStateType.PLACING;}
41     }
42
43     
public bool IsHolding {
44         
get {return state == GameStateType.HOLDING;}
45     }
46
47     
public void Grab() {
48         state = GameStateType.HOLDING;
49     }
50
51     
public void Place() {
52         state = GameStateType.PLACING;
53     }
54
55     
public void Release() {
56         state = GameStateType.WAITING;
57         GameManager.Instance.SwitchPlayer();
58     }
59
60     
public void Cancel() {
61         state = GameStateType.WAITING;
62     }
63
64     
public void Checkmate() {
65         state = GameStateType.GAME_OVER;
66         gameOverType = GameOverType.CHECKMATE;
67     }
68
69     
public void OutOfTime() {
70         state = GameStateType.GAME_OVER;
71         gameOverType = GameOverType.OUT_OF_TIME;
72     }
73
74     
public void Stalemate() {
75         state = GameStateType.GAME_OVER;
76         gameOverType = GameOverType.STALEMATE;
77     }
78
79     
public bool IsGameOver {
80         
get {
81             
if (state == GameStateType.GAME_OVER) return true;
82             
return false;
83         }
84     }
85 }


Gõ tìm kiếm nhanh...